import Api from "../../utils/api"
import Config from "../../utils/Config"
Page({
  data:{
    hotRecipes:[], // 热门菜谱
    types:[],
    iptValue:[]
  },
  onLoad(){
   
    this._getReciptType()
  }, 
  onShow(){
    this.getHotRecipes()
  },
 // 1.获取热门菜谱  
  async getHotRecipes(){
    let orderBy = {
      sort:"desc", // 排序方式
      field:"views" // 查询条件 浏览量
    }
    // {where} 2 个数 1 跳转几个 orderBy 条件
    let res = await Api.find(Config.tables.recipesTable,{status:1},4,1,orderBy)
    console.log(res);
    let allPrmoise = []
    res.data.forEach((item)=>{
      // 通过菜谱的openid去查询用户
      let promise = Api.find(Config.tables.userTable,{_openid:item._openid})
      allPrmoise.push(promise)
    }) 
    let alluser = await Promise.all(allPrmoise)
    // console.log(alluser);
    // 遍历拿取到每一个发布者的信息
    res.data.forEach((item,index)=>{
      return item.userinfo = alluser[index].data[0].userinfo
    })
   this.setData({
     hotRecipes:res.data
   })
    
  },
  // 2.获取菜谱分类
  async _getReciptType(){
    let res = await Api.find(Config.tables.recipeTypeTable,{},2,1)
    console.log(res);
    this.setData({
      types:res.data
    })
  },
  // 3.点击跳转页面
  goTypeList(){
    wx.navigateTo({
      url: '../typelist/typelist',
    })
  },
  // 4.点击跳转到相应的页面
  goRecipeList(e){
    let {id,title,tag} = e.currentTarget.dataset
    // 将首页的搜索框内容也存入缓存中
    if(tag == "search"){
      let seach = wx.getStorageSync('seach') || [];
      // 在添加之前先判断是否已经存在该内容 存在返回0 不存在返回-1
     let findIndex = seach.findIndex((item)=>{
        return item == title
    })
     if(findIndex==-1){
      //(2)不存在的话 将查询到的内容添加到第一项
      seach.unshift(title)
     }else{
      //  如果存在的话就删除对应的哪一项 并且重新在第一个添加
       seach.splice(findIndex,1)
       seach.unshift(title)
     }
      // console.log(findIndex);
      //(3). 取缓存里面的内容
      wx.setStorageSync('seach', seach)
    }
    // 跳转 并将id 与title传递过去
    this.setData({
      iptValue:""
    })
    wx.navigateTo({
      url: `../recipelist/recipelist?id=${id}&title=${title}&tag=${tag}`,
    })
  },
  getValue(e){
    // console.log(e.detail.value);
    this.setData({
      iptValue:e.detail.value
    })
  },
  // 跳转到详情页面
  getRecipeDetal(e){
    // 将数据获取出来后进行页面跳转
    let {id,recipesname} = e.currentTarget.dataset
    wx.navigateTo({
      url: `../recipeDetail/recipeDetail?id=${id}&recipesname=${recipesname}`,
    })
    
  }
})